// pages/editUserinfo/head/head.js

const app = getApp()
const db = wx.cloud.database()

Page({

  /**
   * 页面的初始数据
   */
  data: {
    // 用户头像
    userPhoto: ''
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
    // 从全局中获取用户头像
    this.setData({
      userPhoto : app.userInfo.userPhoto
    })
  },

  // 点击显示图片触发事件
  handleUploadImage(){
    wx.chooseImage({ //从本地相册选择图片或使用相机拍照
      count: 1, //最多选一张
      sizeType: ['compressed'], //使用压缩图
      sourceType: ['album','camera'],// aibum表示从相册里拿图片，camera表示打开手机相机拍照
      success: (res)=> { //选择成功
        // tempFilePath可以作为img标签的src属性显示图片
        const tempFilePaths = res.tempFilePaths[0]
        // 修改当前组件用户头像为自定义选择头像的路径
        this.setData({
          userPhoto: tempFilePaths
        })
      }
    })
  },

  // 点击上传自定义头像按钮
    handleBtn(){
      // 提示
    wx.showLoading({
      title: '上传中',
    })
    // 设置图片路径
    let cloudPath = "userPhoto/" + app.userInfo._openid + Date.now() + ".jpg"

    // 将本地资源上传至云存储空间，如果上传至同一路径则是覆盖写
    wx.cloud.uploadFile({
      cloudPath, 
      filePath: this.data.userPhoto//临时路径      
    }).then((res) => { //上传成功
      // console.log(res)
      let fileID = res.fileID //获取文件id
      if(fileID){ //如果有文件id
        // 根据当前登录用户的id来修改users表中用户头像的路径
        db.collection('users').doc(app.userInfo._id).update({
          data:{
            userPhoto : fileID
          }
        }).then((res) => { // 修改成功
          wx.hideLoading() // 隐藏 loading 提示框 
          // 弹出提示
          wx.showToast({
            title: '上传并更新成功',
          })
          // 修改全局的用户头像
          app.userInfo.userPhoto = fileID
        })
      }
    })
  },

  // 点击使用微信头像按钮
  bindGetUserInfo(ev){
    // 获取用户信息
    let userInfo = ev.detail.userInfo
    if(userInfo){ //用户信息存在
      // 修改当前组件的用户头像路径
      this.setData({
        userPhoto: userInfo.avatarUrl
      }, () => { 
        // 弹出提示框
        wx.showLoading({
          title: '上传中'
        })
        // 根据用户信息的id值来修改users表的用户头像路径
        db.collection('users').doc(app.userInfo._id).update({
          data:{
            userPhoto : userInfo.avatarUrl
          }
        }).then((res) => { //修改成功
          wx.hideLoading() //隐藏loading
          // 弹出提示
          wx.showToast({
            title: '上传并更新成功',
          })
          // 修改全局用户信息中用户头像的路径
          app.userInfo.userPhoto = userInfo.avatarUrl
        })
      })
    }
  }
})